﻿using Microsoft.AspNetCore.Mvc;
using Pay.DTO;

namespace Pay.Services
{
	/// <summary>
	/// 支付服务
	/// </summary>
	public interface IPayService : IDisposable
	{
		/// <summary>
		/// 支付
		/// </summary>
		Task<LayuiResultDto<PayResponseDto>> CommonPayAsync(PayRequestDto model);

		/// <summary>
		/// 退款
		/// </summary>
		Task<LayuiResultDto<RefundResponseDto>> CommonRefundAsync(RefundRequestDto model);

		/// <summary>
		/// 支付宝支付/退款回调
		/// </summary>
		Task<IActionResult> AliNotifyAsync(PaySourceEnum paySource, HttpRequest request);

    }
}